* keymap.c (where_is_internal_data): Make noindirect a boolean.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 10 Sep 2009 16:19:52 +0000 (16:19 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 10 Sep 2009 16:19:52 +0000 (16:19 +0000)
commit3686d4f085f2f5ce684fdc3225d7b7b242203845
treed921268a5212cd6a1e4d68af56b8c198e448c39d
parent21fb1260c379532fe9d38f6a62abf689876570c0
* keymap.c (where_is_internal_data): Make noindirect a boolean.
(where_is_internal): Strip it down to only traverse the keymaps.
Move the cache handling from Fwhere_is_internal to here.
(Fwhere_is_internal): Move the handling of remapping and the choice of
the best binding from where_is_internal to here.
Unify the cached/noncached paths, so remapping is also handled
correctly when the cache is used, and so the cache can be used to
speed up remap-handling when applicable.
Give preference to non-remapped bindings.
* doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
non-remapped bindings.
* keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
command remapping.
src/ChangeLog
src/doc.c
src/keyboard.c
src/keymap.c